package com.jhx.video.shortvideo.editor.common;

import android.content.Context;
import android.support.annotation.AttrRes;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.util.AttributeSet;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.TextView;

import com.jhx.video.R;

/**
 *
 * @author hans
 * @date 2017/11/6
 */

public class ToolsView extends FrameLayout implements View.OnClickListener {
    // 底部的按钮
    private TextView mCutBtn, mFilterBtn, mBgmBtn, mWordBtn, mTimeEffectBtn, mPasterBtn, mMotionBtn, mCoverBtn;
    private OnItemClickListener mListener;

    public ToolsView(@NonNull Context context) {
        super(context);
        init();
    }

    public ToolsView(@NonNull Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
        init();
    }

    public ToolsView(@NonNull Context context, @Nullable AttributeSet attrs, @AttrRes int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        init();
    }

    private void init() {
        View.inflate(getContext(), R.layout.layout_tools_view, this);

        mTimeEffectBtn = findViewById(R.id.btn_time_effect);
        mCutBtn = findViewById(R.id.btn_cut);
        mBgmBtn = findViewById(R.id.btn_music);
        mFilterBtn = findViewById(R.id.btn_filter);
        mWordBtn = findViewById(R.id.btn_word);
        mPasterBtn = findViewById(R.id.btn_paster);
        mMotionBtn = findViewById(R.id.btn_motion_filter);
        mCoverBtn = findViewById(R.id.btn_cover);
        mTimeEffectBtn.setOnClickListener(this);
        mCoverBtn.setOnClickListener(this);
        mCutBtn.setOnClickListener(this);
        mFilterBtn.setOnClickListener(this);
        mBgmBtn.setOnClickListener(this);
        mWordBtn.setOnClickListener(this);
        mPasterBtn.setOnClickListener(this);
        mMotionBtn.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        int i = v.getId();
        if (i == R.id.btn_time_effect) {
            updateViewStatus(v);
            mListener.onClickTime();

        } else if (i == R.id.btn_cut) {
            updateViewStatus(v);
            mListener.onClickCutter();

        } else if (i == R.id.btn_filter) {
            updateViewStatus(v);
            mListener.onClickStaticFilter();

        } else if (i == R.id.btn_music) {
            updateViewStatus(v);
            mListener.onClickBGM();

        } else if (i == R.id.btn_word) {
            updateViewStatus(v);
            mListener.onClickBubbleWord();

        } else if (i == R.id.btn_paster) {
            updateViewStatus(v);
            mListener.onClickPaster();

        } else if (i == R.id.btn_motion_filter) {
            updateViewStatus(v);
            mListener.onClickMotionFilter();

        } else if (i == R.id.btn_cover) {
            updateViewStatus(v);
            mListener.onClickCover();
        }
    }

    public void setOnItemClickListener(OnItemClickListener listener) {
        mListener = listener;
    }

    public interface OnItemClickListener {
        void onClickCutter();

        void onClickTime();

        void onClickStaticFilter();

        void onClickMotionFilter();

        void onClickBGM();

        void onClickPaster();

        void onClickBubbleWord();

        void onClickCover();
    }

    public void updateViewStatus(View view) {
        mCutBtn.setSelected(false);
        mFilterBtn.setSelected(false);
        mBgmBtn.setSelected(false);
        mWordBtn.setSelected(false);
        mTimeEffectBtn.setSelected(false);
        mPasterBtn.setSelected(false);
        mMotionBtn.setSelected(false);
        mCoverBtn.setSelected(false);
        view.setSelected(true);
    }

}
